首页/版本发布/vite v6更新发现的有趣细节

最近呢,Vite 6 更新的消息,在各大技术博主的分享下,已经传开了。

我一直有关注软件更新的习惯,每天都会查看几次软件更新通知,vite 6 发布的第一时间,我就发现了。

粗看了几遍更新内容,不是我熟悉的,写文章分享的话,也只是囫囵吞枣,原样输出,说不出一些自己的见解出来。

不过,今天我又查看了一遍更新 vite 6 更新日志,发现了一个有趣的调整。

chore(deps)!: migrate fast-glob to tinyglobby

就是这一句话:把 fast-glob 替换为 tinyglobby

它们是干什么用的呢?参考以下例子:

tinyglobby

import { glob, globSync } from "tinyglobby";

await glob(["files/*.ts", "!**/*.d.ts"], { cwd: "src" });
globSync(["src/**/*.ts"], { ignore: ["**/*.d.ts"] });

fast-glob

const fg = require("fast-glob");

const entries = await fg([".editorconfig", "**/index.js"], { dot: true });

// ['.editorconfig', 'services/index.js']

就是可以用类似正则一样的语法来查询文件和目录的工具。

相关issue

顺着相关的链接追踪,看到这样一个已经关闭的 issue,翻译成中文就是:此 PR 建议用较轻的 tinyglobby 替换较重的 fast-glob。支持的模式相同,除了增加括号。

看到这里,不禁对开源贡献者的极客精神深深敬佩,之所以把 fast-glob 替换为 tinyglobby,就是为了减少一点项目的体积,提高一点性能。

那么接下来,我们对比一下 fast-globtinyglobby 的相关数据。

对比项fast-globtinyglobby
发布时间2016年12月28日2024年7月23日
依赖总数17个2个
体积大小96.7 kB15.9 kB
周下载量4600万+20万+
最新更新一年前一个月前
贡献人数30个6个

作为前辈,fast-glob时间相关 的数据优势很大,比如 下载量

作为后辈,tinyglobby性能相关 的数据优势更大,比如 体积大小依赖数量

而且,目前 tinyglobby 已经被以上知名项目作为依赖使用,可靠性是毋庸置疑的。

我自己的开源项目 funpi(放屁) - Node.js接口开发框架,和 yite-cli - vue3脚手架 也会把 fast-glob 替换为 tinyglobby

  • funpi - https://github.com/chenbimo/funpi
  • yite-cli - https://github.com/chenbimo/yite-cli

如果你感兴趣,欢迎给个 star~